package com.itany.book.controller;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.itany.book.pojo.Book;
import com.itany.book.pojo.Examine;
import com.itany.book.pojo.ManagerUser;
import com.itany.book.service.ExamineService;
import com.itany.book.utils.HttpClientUtils;
import com.itany.book.vo.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Author:yaozhiyuan0117@163.com
 * Time:2019/12/24 22:58
 * Describe:
 * version:1.0
 */

@Controller
@RequestMapping("/examine")
public class ExamineController {

    @Autowired
    private ExamineService examineService;

    public static void main(String[] args) {


        String result = "{\"reason\":\"查询成功\",\"result\":{\"levelNum\":\"9.2\",\"subtitle\":\"\",\"author\":\"[明] 罗贯中\",\"pubdate\":\"1998-05\",\"origin_title\":\"\",\"binding\":\"平装\",\"translator\":\"\",\"pages\":\"990\",\"images_medium\":\"http:\\/\\/open.6api.net\\/lpic\\/s1076932.jpg\",\"images_large\":\"http:\\/\\/open.6api.net\\/mpic\\/s1076932.jpg\",\"publisher\":\"人民文学出版社\",\"isbn10\":\"7020008720\",\"isbn13\":\"9787020008728\",\"title\":\"三国演义（全二册）\",\"summary\":\"《三国演义》又名《三国志演义》、《三国志通俗演义》，是我国小说史上最著名最杰出的长篇章回体历史小说。 《三国演义》的作者是元末明初人罗贯中，由毛纶，毛宗岗父子批改。在其成书前，“三国故事”已经历了数百年的历史发展过程。在唐代，三国故事已广为流传，连儿童都很熟悉。随着市民文艺的发展，宋代的“说话”艺人，已有专门说三国故事的，当时称为“说三分”。元代出现的《三国志平话》，实际上是从说书人使用的本子，虽较简略粗糙，但已初肯《三国演义》的规模。罗贯中在群众传说和民间艺人创作的基础上，又依据陈寿《三国志》及裴松之注中所征引的资料（还包括《世说新语》及注中的资料），经过巨大的创作劳动，写在了规模宏伟的巨著——《三国志通俗演义》全书24卷，240回。后来经过毛纶，毛宗岗父子批改，形成我们现在所见的《三国演义》120回版\\n\\n    由于人文出版社选取的毛批版本和明嘉靖版的《三国志通俗演义》颇有出入，将拥刘抑曹的思想发展到一个几乎病态的角度，且大量地删除了原文中赞扬曹操一方人物的诗词和评论，所以给世人造成一种三国演义打击曹操、歌颂刘备的错误印象，且该批改版将刘备一方无限神化，甚至将诸葛亮准备将魏延烧死在上方谷这样的情节统统删除，将诸葛说成是一个完美近乎神人的形象，这是大家阅读时候值得注意的地方。\\n\\n    由于该版本选用的是毛批改版，而且没有将毛家父子的批语选入，就会给人造成一种错觉，认为该版本和毛批本是不相同的，其实本书和毛批本完全一致，不过是删除了批语部分，加入了编者的注脚。请读者朋友们阅读时注意\",\"price\":\"39.50\"},\"error_code\":0}";

        Map map  = (Map) JSON.parse(result);
        Book book = new Book();
        Map bookBefore = (Map) map.get("result");
        // bookname isbn price groupprice layout register weight bookintroduce authorintroduce imgurl number

        book.setAuthor((String) bookBefore.get("author"));
        book.setBookname((String) bookBefore.get("title"));
        book.setIsbn((String) bookBefore.get("isbn13"));
        book.setPrice(Double.parseDouble((String) bookBefore.get("price")));
        book.setBookintroduce((String) bookBefore.get("summary"));
        book.setAuthorintroduce((String) bookBefore.get("author"));
        book.setImgurl((String) bookBefore.get("images_medium"));
        System.out.println(book);
    }

    @RequestMapping("/getInfoFromThird")
    @ResponseBody
    public ResponseResult getFromThird(Examine examine){
        // 发送请求到第三方，获取String对象
        // Map params = new HashMap();
        // params.put("key","af8f9807ad65ece00d5aa8a32d209bff");
        // params.put("sub","9787020008728");
        // String result = HttpClientUtils.doGet("http://feedback.api.juhe.cn/ISBN",params);
        String result = "{\"reason\":\"查询成功\",\"result\":{\"levelNum\":\"9.2\",\"subtitle\":\"\",\"author\":\"[明] 罗贯中\",\"pubdate\":\"1998-05\",\"origin_title\":\"\",\"binding\":\"平装\",\"translator\":\"\",\"pages\":\"990\",\"images_medium\":\"http:\\/\\/open.6api.net\\/lpic\\/s1076932.jpg\",\"images_large\":\"http:\\/\\/open.6api.net\\/mpic\\/s1076932.jpg\",\"publisher\":\"人民文学出版社\",\"isbn10\":\"7020008720\",\"isbn13\":\"9787020008728\",\"title\":\"三国演义（全二册）\",\"summary\":\"《三国演义》又名《三国志演义》、《三国志通俗演义》，是我国小说史上最著名最杰出的长篇章回体历史小说。 《三国演义》的作者是元末明初人罗贯中，由毛纶，毛宗岗父子批改。在其成书前，“三国故事”已经历了数百年的历史发展过程。在唐代，三国故事已广为流传，连儿童都很熟悉。随着市民文艺的发展，宋代的“说话”艺人，已有专门说三国故事的，当时称为“说三分”。元代出现的《三国志平话》，实际上是从说书人使用的本子，虽较简略粗糙，但已初肯《三国演义》的规模。罗贯中在群众传说和民间艺人创作的基础上，又依据陈寿《三国志》及裴松之注中所征引的资料（还包括《世说新语》及注中的资料），经过巨大的创作劳动，写在了规模宏伟的巨著——《三国志通俗演义》全书24卷，240回。后来经过毛纶，毛宗岗父子批改，形成我们现在所见的《三国演义》120回版\\n\\n    由于人文出版社选取的毛批版本和明嘉靖版的《三国志通俗演义》颇有出入，将拥刘抑曹的思想发展到一个几乎病态的角度，且大量地删除了原文中赞扬曹操一方人物的诗词和评论，所以给世人造成一种三国演义打击曹操、歌颂刘备的错误印象，且该批改版将刘备一方无限神化，甚至将诸葛亮准备将魏延烧死在上方谷这样的情节统统删除，将诸葛说成是一个完美近乎神人的形象，这是大家阅读时候值得注意的地方。\\n\\n    由于该版本选用的是毛批改版，而且没有将毛家父子的批语选入，就会给人造成一种错觉，认为该版本和毛批本是不相同的，其实本书和毛批本完全一致，不过是删除了批语部分，加入了编者的注脚。请读者朋友们阅读时注意\",\"price\":\"39.50\"},\"error_code\":0}";

        Map map  = (Map) JSON.parse(result);
        Book book = new Book();
        Map bookBefore = (Map) map.get("result");
        // bookname isbn price groupprice layout register weight bookintroduce authorintroduce imgurl number

        book.setAuthor((String) bookBefore.get("author"));
        book.setBookname((String) bookBefore.get("title"));
        book.setIsbn((String) bookBefore.get("isbn13"));
        book.setPrice(Double.parseDouble((String) bookBefore.get("price")));
        book.setBookintroduce((String) bookBefore.get("summary"));
        book.setAuthorintroduce((String) bookBefore.get("author"));
        book.setImgurl((String) bookBefore.get("images_medium"));
        // book.setLayout((String) bookBefore.get("levelNum")); // 版次 levelNum
        // book.setRegister();//册数
        // book.setWeight(); //重量
        // System.out.println(book);
        return ResponseResult.success(book);

    }


    @RequestMapping("/modifyExamine")
    @ResponseBody
    public ResponseResult modifyExamine(Examine examine){

        // examine
        System.out.println("--------------");
        System.out.println(examine.getId());
        System.out.println(examine.getFlag());
        System.out.println(examine.getInfo());
        System.out.println(examine.getSupplierid());
        System.out.println(examine.getNumber());
        System.out.println(examine.getBookid());
        examineService.modifyExamine(examine);
        return ResponseResult.success();
    }


    @RequestMapping("/findByPage")
    @ResponseBody
    public Map findByPage( Integer id,Integer page,
                           @RequestParam(defaultValue = "1")Integer rows,
                           String bookname,
                           String isbn
                           ){
        // if (rows == null || rows<1){
        //     rows=1;
        // }
        System.out.println("----------");

        PageInfo<Examine> pageInfo = examineService.findByPage(id,page,rows,bookname,isbn);
        Map map = new HashMap();
        map.put("total", pageInfo.getTotal());
        map.put("rows",pageInfo.getList());
        System.out.println(pageInfo.getList());
        return map;
    }

    @RequestMapping("/addExamine")
    @ResponseBody
    public ResponseResult addExamine(Book book, HttpSession session, MultipartFile uploadFile){

        System.out.println("------------");
        System.out.println("第三方的图片路径"+book.getImgurl());

        book.setFlag(0);
        Examine examine = new Examine();
        examine.setFlag(0);
        examine.setTitle("["+book.getBookname()+"]"+"审核");
        examine.setNumber(book.getNumber());
        examine.setInfo("已提交");

        //注意：这边插入的id应该是供应商对应的主要id号
        System.out.println( session.getAttribute("id"));
        examine.setSupplierid((Integer) session.getAttribute("id"));
        examineService.addExamine(book,examine,uploadFile);

        // System.out.println("----------");
        // System.out.println(book);
        // System.out.println(book.getAuthor());
        // System.out.println(book.getAuthorintroduce()+book.getBookname());

        return ResponseResult.success();
    }
}
